/**
 * 
 */
package mm.back.dao;

import java.util.List;

import mm.back.entity.Reparacion;
import mm.back.filtros.ReparacionesFiltro;
import mm.exceptions.MMGenericException;


/**
 * @author PUSDERKIS
 *
 */
public interface ReparacionDAO {
	
	/**
	 * Guarda una reparacion en la bbdd.
	 * @param reparacion la reparacion a guardar.
	 * @throws MMGenericException En caso de error.
	 */
	void guardarReparacion(Reparacion reparacion) throws MMGenericException;
	
	/**
	 * Obtiene una reparacion
	 * @param id el id de la reparacion.
	 * @return la reparacion.
	 * @throws MMGenericException en caso de error.
	 */
	Reparacion getReparacion(Long id) throws MMGenericException;
	
	/**
	 * Obtiene todas las reparaciones que cumplan los criterios de busqueda.
	 * @param filtro el filtro.
	 * @return las reparaciones.
	 * @throws MMGenericException en caso de error.
	 */
	List<Reparacion> searchReparaciones(ReparacionesFiltro filtro) throws MMGenericException;
	
}
